最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

jQuery技術(shù)內(nèi)幕:深入解析jQuery架構(gòu)設(shè)計與實現(xiàn)原理 PDF掃描版[120MB]

jQuery技術(shù)內(nèi)幕:深入解析jQuery架構(gòu)設(shè)

  • 書籍大?。?span>120.01MB
  • 書籍語言:簡體中文
  • 書籍類型:國產(chǎn)軟件
  • 書籍授權(quán):免費(fèi)軟件
  • 書籍類別:javascript電子書
  • 應(yīng)用平臺:PDF
  • 更新時間:2015-06-06
  • 網(wǎng)友評分:
360通過 騰訊通過 金山通過

情介紹

jQuery技術(shù)內(nèi)幕:深入解析jQuery架構(gòu)設(shè)計與實現(xiàn)原理由阿里巴巴資深前端開發(fā)工程師撰寫,從源代碼角度全面而系統(tǒng)地解讀了jQuery的17個模塊的架構(gòu)設(shè)計理念和內(nèi)部實現(xiàn)原理,旨在幫助讀者參透jQuery中的實現(xiàn)技巧和技術(shù)精髓,同時本書也對廣大開發(fā)者如何通過閱讀源代碼來提升編碼能力和軟件架構(gòu)能力提供了指導(dǎo)。

《jQuery技術(shù)內(nèi)幕:深入解析jQuery架構(gòu)設(shè)計與實現(xiàn)原理》首先通過“總體架構(gòu)”梳理了各個模塊的分類、功能和依賴關(guān)系,讓大家對jQuery的工作原理有大致的印象;進(jìn)而通過“構(gòu)造jQuery對象”章節(jié)分析了構(gòu)造函數(shù)jQuery()的各種用法和內(nèi)部構(gòu)造過程;接著詳細(xì)分析了底層支持模塊的源碼實現(xiàn),包括:選擇器Sizzle、異步隊列Deferred、數(shù)據(jù)緩存Data、隊列Queue、瀏覽器功能測試Support;最后詳細(xì)分析了功能模塊的源碼實現(xiàn),包括:屬性操作Attributes、事件系統(tǒng)Events、DOM遍歷Traversing、DOM操作Manipulation、樣式操作CSS、異步請求Ajax、動畫Effects。

《jQuery技術(shù)內(nèi)幕:深入解析jQuery架構(gòu)設(shè)計與實現(xiàn)原理》在分析每個模塊時均采用由淺入深的方式,先概述功能、用法、結(jié)構(gòu)和實現(xiàn)原理,然后介紹關(guān)鍵步驟和分析源碼實現(xiàn)。讓讀者不僅知其然,而且知其所以然。事實上,本書的根本價值在于傳達(dá)一種通過閱讀源碼快速成長的方式。無論是前端新人,還是經(jīng)驗豐富的老手,只要是對JavaScript感興趣的開發(fā)人員,都會從本書中受益。

jQuery技術(shù)內(nèi)幕:深入解析jQuery架構(gòu)設(shè)計與實現(xiàn)原理 目錄:
前言
第一部分 總體架構(gòu)
第1章 總體架構(gòu) 2
1.1 設(shè)計理念 2
1.2 總體架構(gòu) 2
1.3 自調(diào)用匿名函數(shù) 4
1.4 總結(jié) 6
第二部分 構(gòu)造jQuery對象
第2章 構(gòu)造jQuery對象 8
2.1 構(gòu)造函數(shù)jQuery() 8
2.1.1 jQuery( selector [, context] ) 9
2.1.2 jQuery( html [, ownerDocument] )、jQuery( html, props ) 9
2.1.3 jQuery( element )、jQuery( elementArray ) 10
2.1.4 jQuery( object ) 10
2.1.5 jQuery( callback ) 11
2.1.6 jQuery( jQuery object ) 11
2.1.7 jQuery() 11
2.2 總體結(jié)構(gòu) 11
2.3 jQuery.fn.init( selector, context, rootjQuery ) 13
2.3.1 12個分支 13
2.3.2 源碼分析 14
2.3.3 小結(jié) 21
2.4 jQuery.buildFragment( args, nodes, scripts ) 22
2.4.1 實現(xiàn)原理 22
2.4.2 源碼分析 22
2.4.3 小結(jié) 26
2.5 jQuery.clean( elems, context, fragment, scripts ) 27
2.5.1 實現(xiàn)原理 27
2.5.2 源碼分析 27
2.5.3 小結(jié) 39
2.6 jQuery.extend()、jQuery.fn.extend() 40
2.6.1 如何使用 40
2.6.2 源碼分析 40
2.7 原型屬性和方法 43
2.7.1 .selector、.jquery、.length、.size() 44
2.7.2 .toArray()、.get( [index] ) 45
2.7.3 .each( function(index, Element) )、jQuery.each( collection, callback (indexInArray, valueOfElement) ) 46
2.7.4 .map( callback(index, domElement) )、jQuery.map( arrayOrObject, callback(value, indexOrKey) ) 47
2.7.5 .pushStack( elements, name, arguments ) 49
2.7.6 .end() 51
2.7.7 .eq( index )、.first()、.last()、.slice( start [, end] ) 51
2.7.8 .push( value, ... )、.sort( [orderfunc] )、.splice( start,deleteCount, value, ... ) 52
2.7.9 小結(jié) 53
2.8 靜態(tài)屬性和方法 54
2.8.1 jQuery.noConflict( [removeAll] ) 55
2.8.2 類型檢測:jQuery.isFunction( obj )、jQuery.isArray( obj )、jQuery.isWindow( obj )、jQuery.isNumeric( value )、jQuery.type( obj )、jQuery.isPlainObject( object )、jQuery.isEmptyObject( object ) 56
2.8.3 解析JSON和XML:jQuery.parseJSON( data )、jQuery.parseXML( data ) 60
2.8.4 jQuery.globalEval( code ) 65
2.8.5 jQuery.camelCase( string ) 65
2.8.6 jQuery.nodeName( elem, name ) 66
2.8.7 jQuery.trim( str ) 67
2.8.8 數(shù)組操作方法:jQuery.makeArray( obj )、jQuery.inArray( value, array [, fromIndex] )、jQuery.merge( first, second )、jQuery.grep( array, function(elementOfArray, indexInArray) [, invert] ) 68
2.8.9 jQuery.guid、jQuery.proxy( function, context ) 72
2.8.10 jQuery.access( elems, key, value, exec, fn( elem, key, value ), pass ) 74
2.8.11 jQuery.error( message )、jQuery.noop()、jQuery.now() 75
2.8.12 瀏覽器嗅探:jQuery.uaMatch( ua )、jQuery.browser 76
2.8.13 小結(jié) 77
2.9 總結(jié) 77
第三部分 底層支持模塊
第3章 選擇器Sizzle 80
3.1 總體結(jié)構(gòu) 81
3.2 選擇器表達(dá)式 83
3.3 設(shè)計思路 84
3.4 Sizzle( selector, context, results, seed ) 86
3.5 正則chunker 94
3.6 Sizzle.find( expr, context, isXML ) 94
3.7 Sizzle.filter( expr, set, inplace, not ) 99
3.8 Sizzle.selectors.relative 103
3.8.1 "+" 105
3.8.2 "]" 106
3.8.3 "" 108
3.8.4 "~" 108
3.8.5 dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) 109
3.8.6 dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) 111
3.9 Sizzle.selectors 112
3.9.1 Sizzle.selectors.order 112
3.9.2 Sizzle.selectors.match/leftMatch 113
3.9.3 Sizzle.selectors.find 122
3.9.4 Sizzle.selectors.preFilter 123
3.9.5 Sizzle.selectors.filters 129
3.9.6 Sizzle.selectors.setFilters 132
3.9.7 Sizzle.selectors.filter 133
3.10 工具方法 140
3.10.1 Sizzle.uniqueSort( results ) 140
3.10.2 sortOrder( a, b ) 141
3.10.3 Sizzle.contains( a, b ) 144
3.10.4 Sizzle.error( msg ) 145
3.10.5 Sizzle.getText( elem ) 145
3.11 便捷方法 146
3.11.1 Sizzle.matches( expr, set ) 146
3.11.2 Sizzle.matchesSelector( node, expr ) 146
3.12 jQuery擴(kuò)展 147
3.12.1 暴露Sizzle給jQuery 147
3.12.2 .find( selector ) 148
3.12.3 .has( target ) 149
3.12.4 .not( selector )、.filter( selector ) 150
3.12.5 .is( selector ) 152
3.12.6 .closest( selectors, context ) 153
3.12.7 .index( elem ) 154
3.12.8 .add( selector, context ) 155
3.12.9 jQuery.filter( expr, elems, not ) 156
3.12.10 :animated 157
3.12.11 hidden、:visible 157
3.13 總結(jié) 158
第4章 異步隊列Deferred Object 160
4.1 jQuery.Callbacks( flags ) 161
4.1.1 實現(xiàn)原理和總體結(jié)構(gòu) 162
4.1.2 源碼分析 163
4.1.3 小結(jié) 174
4.2 jQuery.Deferred( func ) 174
4.2.1 實現(xiàn)原理和總體結(jié)構(gòu) 176
4.2.2 源碼分析 177
4.2.3 小結(jié) 183
4.3 jQuery.when( deferreds ) 184
4.3.1 實現(xiàn)原理 185
4.3.2 源碼分析 185
4.4 異步隊列在jQuery中的應(yīng)用 187
4.5 總結(jié) 188
第5章 數(shù)據(jù)緩存Data 189
5.1 實現(xiàn)原理 189
5.1.1 為DOM元素附加數(shù)據(jù) 189
5.1.2 為JavaScript對象附加數(shù)據(jù) 191
5.2 總體結(jié)構(gòu) 192
5.3 jQuery.acceptData( elem ) 193
5.4 jQuery.data( elem, name, data, pvt )、jQuery._data( elem, name, data, pvt ) 194
5.4.1 如何使用 194
5.4.2 源碼分析 194
5.4.3 jQuery._data( elem, name, data ) 199
5.4.4 小結(jié) 201
5.5 .data( key,value ) 201
5.5.1 如何使用 201
5.5.2 源碼分析 202
5.5.3 小結(jié) 206
5.6 jQuery.removeData( elem,name,pvt )、.removeData( key ) 207
5.6.1 如何使用 207
5.6.2 源碼分析 207
5.6.3 小結(jié) 212
5.7 .removeData( key ) 213
5.8 jQuery.cleanData( elems ) 213
5.8.1 應(yīng)用場景 213
5.8.2 源碼分析 214
5.8.3 小結(jié) 217
5.9 jQuery.hasData( elem ) 217
5.10 總結(jié) 218
第6章 隊列Queue 219
6.1 如何使用 219
6.1.1 Ajax隊列 220
6.1.2 動畫隊列+ Ajax隊列 220
6.1.3 基于JavaScript對象 221
6.2 實現(xiàn)原理 221
6.3 總體結(jié)構(gòu) 222
6.4 jQuery.queue( elem,type,data ) 223
6.5 jQuery.dequeue( elem,type ) 224
6.6 .queue( type,data ) 227
6.7 .dequeue( type ) 228
6.8 .delay( time,type ) 229
6.9 .clearQueue( type ) 230
6.10 jQuery._mark( elem,type )、jQuery._unmark( force,elem,type ) 230
6.11 .promise( type,object ) 232
6.11.1 如何使用 232
6.11.2 實現(xiàn)原理 233
6.11.3 源碼分析 233
6.11.4 handleQueueMarkDefer( elem,type,src ) 235
6.12 總結(jié) 237
第7章 瀏覽器功能測試Support 238
7.1 總體結(jié)構(gòu) 238
7.2 DOM測試(15項) 241
7.2.1 leadingWhitespace 241
7.2.2 tbody 242
7.2.3 htmlSerialize 243
7.2.4 hrefNormalized 245
7.2.5 checkOn 246
7.2.6 noCloneChecked 248
7.2.7 optSelected 250
7.2.8 optDisabled 251
7.2.9 getSetAttribute 253
7.2.10 deleteExpando 256
7.2.11 enctype 258
7.2.12 html5Clone 259
7.2.13 radioValue 261
7.2.14 checkClone 263
7.2.15 appendChecked 264
7.3 樣式測試(3項) 266
7.3.1 style 266
7.3.2 opacity 268
7.3.3 cssFloat 272
7.4 盒模型測試(10項) 273
7.4.1 reliableMarginRight 273
7.4.2 reliableHiddenOffsets 276
7.4.3 boxModel 278
7.4.4 inlineBlockNeedsLayout 280
7.4.5 shrinkWrapBlocks 282
7.4.6 doesNotAddBorder、doesAddBorderForTableAndCells 285
7.4.7 fixedPosition 287
7.4.8 subtractsBorderForOverflowNotVisible 290
7.4.9 doesNotIncludeMarginInBodyOffset 292
7.5 事件測試(4項) 294
7.5.1 noCloneEvent 294
7.5.2 submitBubbles、changeBubbles、focusinBubbles 296
7.6 Ajax測試(2項) 298
7.6.1 ajax 298
7.6.2 cors 300
7.7 總結(jié) 301
第四部分 功能模塊
第8章 屬性操作Attributes 306
8.1 總體結(jié)構(gòu) 307
8.2 jQuery.attr( elem, name, value, pass ) 308
8.2.1 源碼分析 308
8.2.2 boolHook 311
8.2.3 nodeHook 313
8.2.4 jQuery.attrHooks 314
8.2.5 小結(jié) 319
8.3 .attr( name, value ) 319
8.4 jQuery.removeAttr( elem, value ) 321
8.4.1 源碼分析 321
8.4.2 小結(jié) 322
8.5 .removeAttr( name ) 323
8.6 jQuery.prop( elem, name, value ) 323
8.6.1 源碼分析 323
8.6.2 jQuery.propHooks 325
8.6.3 小結(jié) 326
8.7 .prop( name, value ) 327
8.8 .removeProp( name ) 327
8.9 .addClass( className ) 328
8.9.1 源碼分析 328
8.9.2 小結(jié) 330
8.10 .removeClass( [className] ) 330
8.10.1 源碼分析 331
8.10.2 小結(jié) 333
8.11 .toggleClass( [className][, switch] ) 333
8.11.1 源碼分析 334
8.11.2 小結(jié) 336
8.12 .hasClass( selector ) 336
8.12.1 源碼分析 336
8.12.2 小結(jié) 337
8.13 .val( [value] ) 338
8.13.1 源碼分析 338
8.13.2 jQuery.valHooks 340
8.13.3 小結(jié) 343
8.14 總結(jié) 344
第9章 事件系統(tǒng)Events 346
9.1 總體結(jié)構(gòu) 346
9.2 實現(xiàn)原理 350
9.3 jQuery 事件對象 353
9.3.1 構(gòu)造函數(shù)jQuery.Event( src, props ) 355
9.3.2 原型對象jQuery.Event.prototype 357
9.3.3 事件屬性修正方法jQuery.event.fix( event ) 360
9.4 綁定事件 367
9.4.1 .on( events [, selector] [, data] , handler( eventObject ) ) 367
9.4.2 jQuery.event.add( elem, types, handler, data, selector ) 370
9.5 移除事件 379
9.5.1 .off( events [, selector] [, handler( eventObject ) ] ) 379
9.5.2 jQuery.event.remove( elem, types, handler, selector, mappedTypes ) 382
9.6 事件響應(yīng) 388
9.6.1 主監(jiān)聽函數(shù) 388
9.6.2 jQuery.event.dispatch( event ) 390
9.7 手動觸發(fā)事件 396
9.7.1 .trigger( eventType [, extraParameters] )、.triggerHandler( eventType [, extraParameters] ) 396
9.7.2 jQuery.event.trigger( event, data, elem, onlyHandlers ) 397
9.8 事件修正和模擬jQuery.event.special 406
9.8.1 ready 408
9.8.2 load 408
9.8.3 focus、blur 409
9.8.4 beforeunload 409
9.8.5 mouseenter、mouseleave 410
9.8.6 submit 412
9.8.7 change 413
9.8.8 focusin、focusout 416
9.8.9 jQuery.event.simulate( type, elem, event, bubble ) 417
9.9 事件便捷方法 418
9.10 組合方法 419
9.10.1 .toggle( handler( eventObject ), handler( eventObject ) [, handler( eventObject )] ) 419
9.10.2 .hover( handlerIn( eventObject ) [, handlerOut( eventObject )] ) 421
9.11 ready 事件 421
9.11.1 總體結(jié)構(gòu) 421
9.11.2 .ready( handler ) 424
9.11.3 jQuery.bindReady() 424
9.11.4 jQuery.holdReady( hold ) 427
9.11.5 jQuery.ready( wait ) 428
9.12 總結(jié) 430
第10章 DOM遍歷Traversing 433
10.1 總體結(jié)構(gòu) 434
10.2 遍歷函數(shù) 435
10.3 工具函數(shù) 437
10.3.1 jQuery.dir( elem, dir, until ) 437
10.3.2 jQuery.nth( cur, result, dir, elem ) 439
10.3.3 jQuery.sibling( n, elem ) 440
10.4 模板函數(shù) 441
10.5 總結(jié) 443
第11章 DOM操作Manipulation 444
11.1 總體結(jié)構(gòu) 444
11.2 插入元素 445
11.2.1 核心方法.domManip( args, table, callback ) 445
11.2.2 .append( content [, content] ) 451
11.2.3 .prepend( content [, content] ) 452
11.2.4 .before( content [, content] ) 452
11.2.5 .after( content [, content] ) 452
11.2.6 .appendTo( target )、.prependTo( target )、.insertBefore( target )、.insertAfter( target ) 453
11.2.7 .html( [value] ) 454
11.2.8 .text( [text] ) 458
11.3 刪除元素 459
11.3.1 .remove( selector, keepData ) 459
11.3.2 .empty() 460
11.3.3 .detach( selector ) 460
11.4 復(fù)制元素 461
11.4.1 .clone( dataAndEvents, deepDataAndEvents ) 461
11.4.2 jQuery.clone( elem, dataAndEvents, deepDataAndEvents ) 461
11.4.3 cloneFixAttributes( src, dest ) 465
11.5 替換元素 467
11.5.1 .replaceWith( value ) 467
11.5.2 .replaceAll( target ) 469
11.6 包裹元素 469
11.6.1 .wrapAll( html ) 469
11.6.2 .wrapInner( html ) 470
11.6.3 .wrap( html ) 471
11.6.4 .unwrap() 471
11.7 總結(jié) 472
第12章 樣式操作CSS 474
12.1 內(nèi)聯(lián)樣式、計算樣式 475
12.1.1 總體結(jié)構(gòu) 475
12.1.2 .css( name, value ) 476
12.1.3 jQuery.style( elem, name, value, extra ) 477
12.1.4 jQuery.css( elem, name, extra ) 481
12.1.5 curCSS( elem, name )、getComputedStyle( elem, name )、currentStyle( elem, name ) 483
12.1.6 jQuery.cssHooks 486
12.2 坐標(biāo)Offset 492
12.2.1 總體結(jié)構(gòu) 492
12.2.2 .offset( options ) 493
12.2.3 jQuery.offset.setOffset( elem, options, i ) 498
12.2.4 jQuery.offset.bodyOffset( body ) 500
12.2.5 .position() 501
12.2.6 .offsetParent() 502
12.2.7 .scrollLeft( val )、.scrollTop( val ) 503
12.3 尺寸Dimensions 504
12.3.1 總體結(jié)構(gòu) 504
12.3.2 getWH( elem, name, extra ) 505
12.3.3 .innerHeight()、.innerWidth() 508
12.3.4 .outerHeight( margin )、.outerWidth( margin ) 509
12.3.5 .height( size )、.width( size ) 509
12.3.6 小結(jié) 513
12.4 總結(jié) 513
第13章 異步請求Ajax 516
13.1 總體結(jié)構(gòu) 517
13.2 jQuery.ajax( url, options ) 519
13.3 前置過濾器、請求發(fā)送器的初始化和執(zhí)行 540
13.3.1 初始化 540
13.3.2 執(zhí)行 543
13.4 前置過濾器 545
13.4.1 json、jsonp 545
13.4.2 script 548
13.4.3 小結(jié) 549
13.5 請求發(fā)送器 549
13.5.1 script 549
13.5.2 XMLHttpRequest 552
13.5.3 小結(jié) 560
13.6 數(shù)據(jù)轉(zhuǎn)換器 561
13.6.1 初始化 561
13.6.2 執(zhí)行 562
13.6.3 小結(jié) 566
13.7 Ajax事件 567
13.8 便捷方法 568
13.8.1 jQuery.get( url, data, callback, type )、jQuery.post( url, data, callback, type ) 569
13.8.2 jQuery.getJSON( url, data, callback )、jQuery.getScript( url, callback ) 569
13.8.3 .load( url, params, callback ) 570
13.9 工具方法 573
13.9.1 .serialize() 573
13.9.2 jQuery.param( a, traditional ) 574
13.9.3 .serializeArray() 577
13.10 總結(jié) 579
第14章 動畫Effects 582
14.1 總體結(jié)構(gòu) 583
14.2 動畫入口 586
14.2.1 .animate( prop, speed, easing, callback ) 586
14.2.2 jQuery.speed( speed, easing, fn ) 588
14.2.3 doAnimation() 590
14.2.4 jQuery.fx( elem, options, prop ) 595
14.2.5 jQuery.fx.prototype.show() 595
14.2.6 jQuery.fx.prototype.hide() 596
14.2.7 小結(jié) 596
14.3 動畫執(zhí)行 597
14.3.1 jQuery.fx.prototype.custom( from, to, unit ) 598
14.3.2 jQuery.fx.tick() 599
14.3.3 jQuery.fx.prototype.step( gotoEnd ) 600
14.3.4 jQuery.easing 604
14.3.5 jQuery.fx.prototype.update() 604
14.3.6 jQuery.fx.step 605
14.4 停止動畫.stop( type, clearQueue, gotoEnd ) 606
14.5 便捷方法 609
14.5.1 生成動畫樣式集genFx( type, num ) 609
14.5.2 顯示隱藏.show/hide/toggle() 610
14.5.3 漸顯漸隱.fadeIn/fadeOut/fadeTo/fadeToggle() 613
14.5.4 滑入滑出.slideDown/slidUp/slideToggle() 614
14.6 總結(jié) 615

  • jQuery技術(shù)內(nèi)幕:深入解析jQuery架構(gòu)設(shè)計與實現(xiàn)原理 PDF掃描版[120MB]

載地址

下載錯誤?【投訴報錯】

jQuery技術(shù)內(nèi)幕:深入解析jQuery架構(gòu)設(shè)計與實現(xiàn)原理 PDF掃描版[120MB]

      氣書籍

      載聲明

      ☉ 解壓密碼:m.fzitv.net 就是本站主域名,希望大家看清楚,[ 分享碼的獲取方法 ]可以參考這篇文章
      ☉ 推薦使用 [ 迅雷 ] 下載,使用 [ WinRAR v5 ] 以上版本解壓本站軟件。
      ☉ 如果這個軟件總是不能下載的請在評論中留言,我們會盡快修復(fù),謝謝!
      ☉ 下載本站資源,如果服務(wù)器暫不能下載請過一段時間重試!或者多試試幾個下載地址
      ☉ 如果遇到什么問題,請評論留言,我們定會解決問題,謝謝大家支持!
      ☉ 本站提供的一些商業(yè)軟件是供學(xué)習(xí)研究之用,如用于商業(yè)用途,請購買正版。
      ☉ 本站提供的jQuery技術(shù)內(nèi)幕:深入解析jQuery架構(gòu)設(shè)計與實現(xiàn)原理 PDF掃描版[120MB]資源來源互聯(lián)網(wǎng),版權(quán)歸該下載資源的合法擁有者所有。

      廊坊市| 华宁县| 镇沅| 南靖县| 仙桃市| 玛多县| 徐闻县| 湘乡市| 聊城市| 平潭县| 盐山县| 稻城县| 金昌市| 桃园县| 临澧县| 珠海市| 万全县| 扶沟县| 两当县| 夏津县| 北票市| 长武县| 抚顺市| 义马市| 响水县| 荥经县| 九龙城区| 呼伦贝尔市| 黎城县| 襄垣县| 黄浦区| 朝阳市| 阳曲县| 乌兰察布市| 周宁县| 遂昌县| 开封市| 建始县| 乐亭县| 赣榆县| 满洲里市|